﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using HomeCare.View;
using System.Data;

namespace HomeCare.Model
{
   public class EspecialidadeDados
    {
       
       Conexao con = new Conexao();

        public bool InsereEspecialidade(Especialidade especialidade)
        {
       
            SqlConnection sql = con.Conectar();
            sql.Open();
            string query = String.Format("insert into Especialidades (Especialidade, Descricao) values ('{0}','{1}')", especialidade.especialidade, especialidade.descricao);
            try
            {
                SqlCommand cmd = new SqlCommand(query, sql);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                sql.Close();
                return true;
            }
            catch (Exception ex)
            {
                
                //throw new Exception("Erro ao Inserir Especialidade.");
                sql.Close();
                MessageBox.Show(ex.Message);
                return false;
            }
        }


        public bool AlteraEspecialidade(Especialidade especialidade)
        {
            SqlConnection sql = con.Conectar();
            sql.Open();
            string query = String.Format("update Especialidades set Especialidade='{0}', Descricao='{1}' where id='{2}'", especialidade.especialidade, especialidade.descricao, especialidade.id);
            try
            {
                SqlCommand cmd = new SqlCommand(query, sql);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                sql.Close();
                return true;
            }
            catch (Exception ex)
            {
                //throw new Exception("Erro ao Alterar Especialidade.");
                sql.Close();
                MessageBox.Show(ex.Message);
                return false;
            }
        }


        public bool ExcluiEspecialidade(Especialidade especialidade)
        {
            SqlConnection sql = con.Conectar();
            sql.Open();
            string query = String.Format("delete from Especialidades where Id='{0}'", especialidade.id);
            try
            {
                SqlCommand cmd = new SqlCommand(query, sql);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                sql.Close();
                return true;
            }
            catch (Exception ex)
            {
                //throw new Exception("Erro ao Alterar Especialidade.");
                sql.Close();
                MessageBox.Show(ex.Message);
                return false;
            }
        }

        public DataSet ConsultaEspecialidade(Especialidade especialidade)
        {
            SqlConnection sql = con.Conectar();
            sql.Open();
            string query = "select * from Especialidades where (1=1) ";
            query += String.IsNullOrEmpty(especialidade.descricao)? String.Empty :( String.Format(" and Descricao like '%{0}%' ", especialidade.descricao));
            query += String.IsNullOrEmpty(especialidade.especialidade) ? String.Empty: (String.Format(" and Especialidade like '%{0}%' ", especialidade.especialidade));
            query += " order by Especialidade ";
            try
            {
                SqlDataAdapter dataAdapter = new SqlDataAdapter(query, sql);
                DataSet dataSet = new DataSet();
                dataAdapter.Fill(dataSet);
                sql.Close();
                return dataSet;
                
            }
            catch (Exception ex)
            {
                sql.Close();
                throw new Exception("Erro ao Consultar Especialidade.");
                //MessageBox.Show(ex.Message);
                
            }
        }


    }
}


